package com.atguigu.gmall.user.rest;

import com.atguigu.gmall.common.result.Result;
import com.atguigu.gmall.user.service.UserInfoService;
import com.atguigu.gmall.user.vo.LoginRespVo;
import com.atguigu.gmall.user.vo.LoginVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

/**
 * @author lfy
 * @Description
 * @create 2023-08-29 14:00
 */

@RequestMapping("/api/user")
@RestController
public class LoginRestController {



    @Autowired
    UserInfoService userInfoService;
    /**
     * 登录
     * fix: 修复登录
     * @param loginVo
     * @return
     */
    @PostMapping("/passport/login")
    public Result login(@RequestBody LoginVo loginVo){

        //token： 访问令牌
        LoginRespVo respVo = userInfoService.login(loginVo);
        return Result.ok(respVo);
    }


    /**
     * 只要登录了，以后前端的所有请求，都会带上令牌；
     * 1）、浏览器提交的请求，token在cookie里面
     * 2）、JS发送的ajax请求，token在头里面放着
     * 退出
     * @return
     */
    @GetMapping("/passport/logout")
    public Result logout(@RequestHeader("Token") String token){

        userInfoService.logout(token);
        return Result.ok();
    }
}
